<template>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column type="index" label="序号" width="80" />
      <el-table-column prop="inspectionStandards" label="检验标准" width="120" />
      <el-table-column prop="testResults" label="检验结果" width="120" />
      <el-table-column prop="unqualifiedNum" label="不合格数量" width="120" />
      <el-table-column prop="hegeNum" label="合格数量" width="120" />
      <el-table-column prop="unqualifiedCause" label="不合格原因" width="120" />
      <el-table-column prop="unqualifiedMeasure" label="处理措施" width="120" />
      <el-table-column fixed="right" label="操作" min-width="120">
        <template #default="scope">
          <el-button link type="danger" :icon="Delete" size="small" @click="Del(scope.row.reportId)">删除</el-button>
          <el-button link type="warning" :icon="Edit" size="small" @click="Upd(scope.row.reportId)">修改</el-button>
        </template>
      </el-table-column>
    </el-table>

    <el-pagination v-model:current-page="form.pageIndex" v-model:page-size="form.pageSize"
        :page-sizes="[15, 20, 25, 30]" layout="total, sizes, prev, pager, next, jumper" :total="form.totalCount"
        @size-change="handleSizeChange" @current-change="handleCurrentChange" />

  </template>
  
  <script lang="ts" setup>
  import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import axios from 'axios'
import { useRouter, useRoute } from 'vue-router'
import { Delete, Edit, Search, Share, Upload } from '@element-plus/icons-vue'
import {read,write} from '@/axios/axiosHelper'

const router = useRouter()
const route = useRoute()

const tableData = ref([]);

const form = reactive({
    pageIndex: 1,
    pageSize: 15,
    totalCount: 0,
    totalPage: 0,
})

const handleSizeChange = (val: number) => {
    Show();
}
const handleCurrentChange = (val: number) => {
    Show();
}

onMounted(() => {
    Show();
})
  
const Show=()=>{
    read.get("p2-read/api/Report/QueryReport",{
        params:{
            pageIndex:form.pageIndex,
            pageSize:form.pageSize
        }
    })
    .then(res=>{
        tableData.value=res.data.data;
        form.totalCount=res.data.totalCount;
        form.totalPage=res.data.totalPage;
    })
}

//逻辑删除数据
const Del = (reportId: any) => {
    ElMessageBox.confirm(
        '确认删除吗?',
        'Warning',
        {
            confirmButtonText: '确认',
            cancelButtonText: '取消',
            type: 'warning',
        }
    )
       .then(() => {
            write.post("p2-write/api/Report/DelReport", {
                reportId: reportId
            })
               .then(res => {
                    if (res.data.code == 200) {
                        ElMessage.success(res.data.msg);
                        Show();
                    }
                    else {
                        ElMessage.error(res.data.msg);
                        return;
                    }
                })
        })
}

//跳转到修改界面
const Upd = (reportId: any) => {
    router.push({
        path: '/UpdReport',
        query: {
            reportId: reportId
        }
    })
}
  
  </script>
  